package byorder;

/**
 * Created by JiaJia on 2019/12/18 0018.
 */

/**
 * 题目描述：A 和 B 在一个 3 x 3 的网格上玩井字棋。
 * 只要有 3 个相同的（非空）棋子排成一条直线（行、列、对角线）时，游戏结束。
 */
public class LeetCode1274 {
    public static void main(String[] args) {
        int[][] input={{0,0},{2,0},{1,1},{2,1},{2,2}};
        System.out.println(threeChest(input));
    }
    private static String threeChest(int[][] moves){
        int[] ac={7, 56, 448, 73, 146, 292, 273, 84};
        int a=0,b=0,len=moves.length;
        for (int i = 0; i <len ; i++) {
            if (i%1==1){
                b^=1<<(3 * moves[i][0] + moves[i][1]);
            }else {
                a^=1<<(3 * moves[i][0] + moves[i][1]);
            }
        }
        for (int i:ac) {
            if ((a&i)==i){
                return "A";
            }
            if ((b&i)==i){
                return "B";
            }
        }
        return len==9?"DRAW":"PENGDING";
    }
}